<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>
  const dog = {
    color: 'orange'
  }

  Function.prototype.myBind = function (thisArg, ...args) {
    const property = Symbol('property')
    thisArg[property] = this
    return function (...otherArgs) {
      thisArg[property](...args, ...otherArgs)
      delete thisArg[property]
    }
  }

  function test(a, b, c) {
    console.log(this)
    console.log(a, b, c)
    console.log(a + b + c)
    return a + b + c
  }

  const newTest = test.myBind(dog, 1)
  newTest(2, 3)
</script>
</body>
</html>